feat: bulk fetch (F) + core test suite & CI#31
Open
Bharath-code wants to merge 6 commits into
Open
Conversation
Add table-driven + real-git integration tests for the config, cache, gitstatus, and scan packages (76-93% coverage on core logic). Add a CI workflow running gofmt, go vet, go test -race -cover, and golangci-lint on every push and PR. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add internal/gitops package for bulk git actions, kept separate from the read-only gitstatus package. FetchAll runs 'git fetch' concurrently (bounded workers, per-repo timeout), classifying each repo as success, failed, or skipped (no remote). Press 'F' in the dashboard to fetch every repo's remote; statuses are refreshed afterward so ahead/behind counts update immediately. Fetch is network-only and non-destructive, so it runs without a confirmation prompt (reserved for future destructive actions like pull/stash). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Kilo Code Review could not run — your account is out of credits. Add credits or switch to a free model to enable reviews on this change. |
Bump the go directive to 1.26.0 and switch the release workflow to go-version-file so it tracks go.mod. Remove unused style vars and the dead logo()/getPanelHelp() functions flagged by golangci-lint's unused linter; golangci-lint now reports 0 issues. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The action's prebuilt golangci-lint is compiled with an older Go and refuses to analyze Go 1.26 code. install-mode: goinstall builds it with the runner's toolchain instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Avoid non-deterministic lint runs from version: latest, where a new golangci-lint release could fail an unchanged PR. Bumps are now a deliberate, reviewable change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Action v6 targets golangci-lint v1 and builds the wrong module path (cmd/golangci-lint instead of v2/cmd/golangci-lint) under goinstall with a pinned v2 version. v9 supports golangci-lint v2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related improvements: a bulk fetch action that turns git-scope from a viewer into a tool, plus the test suite and CI the repo was missing.
1. Bulk fetch all repos (
F)internal/gitopspackage for bulk git actions, kept separate from the read-onlygitstatuspackage (clean read/write boundary).FetchAllrunsgit fetchconcurrently across all repos with bounded workers and a per-repo timeout, classifying each as success / failed / skipped (no remote — skipped, not failed, to avoid noise on local-only repos).Fin the dashboard → all remotes update → statuses refresh so ahead/behind counts update immediately.2. Core test suite + CI
t.TempDir(), auto-skipped whengitis absent).gitstatus93% ·scan91% ·gitops85% ·config82% ·cache77%.gofmt,go vet,go test -race -cover, andgolangci-linton every push and PR. Added a CI badge to the README.Verification
go build,gofmt -l,go vet, and fullgo test ./...all pass locally.Notes
F(shift+f) avoids the existing lowercasef(filter).coverage.outand a local notes file are added to.gitignore.🤖 Generated with Claude Code